package behaviourNavigatore;

import java.util.List;
import java.util.Set;
import utility.Auto;
import utility.MyDefaultWeightedEdge;
import navigatore.AgenteNavigatore;
import jade.core.behaviours.CyclicBehaviour;

public class PutInTheStreet extends CyclicBehaviour{

       
        private static final long serialVersionUID = 2488912775525129836L;

       
        private AgenteNavigatore navigatore;
       
        @Override
        public void action() {

                navigatore = (AgenteNavigatore)myAgent;

                if(!navigatore.cont2){
                        navigatore.cont2 = true;
                       
                        List<Auto> listCars = navigatore.getWaitingCarsWithWays();

                        while(!listCars.isEmpty()) {

                                Auto auto = listCars.get(0);
                                navigatore.addAuto(auto);

                                Set<MyDefaultWeightedEdge> set = navigatore.getGraph().edgesOf(auto.getStart());

                                for (MyDefaultWeightedEdge edge : set) {


                                        if(edge.equals(auto.getWay().get(0))) {

                                                edge.getListIdAuto().addLast(auto.getId());

                                                break;
                                        }
                                }
                               
                                listCars.remove(0);

                        }

                }

        }

}

